#include "mainscene.h"
#include "ui_mainscene.h"
#include <QPainter>

MainScene::MainScene(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainScene)
{
    ui->setupUi(this);

    // 点击开始 -退出 退出游戏
    connect(ui->actionquit, &QAction::triggered,[=](){
        this->close();
    });

    // 设置固定大小
    this->setFixedSize(320, 588);

    // 设置标题
    this->setWindowTitle("翻金币游戏");

    // 设置图片
    this->setWindowIcon(QIcon(":/res/Coin0001.png"));

    // 开始按钮
    MyPushButton *start_btn = new MyPushButton(":/res/MenuSceneStartButton.png");
    start_btn->setParent(this);
    start_btn->move(this->width() * 0.5 - start_btn->width() * 0.5, this->height() * 0.7);


    // 创建选择关卡场景
    choose_level_scene = new ChooseLevelScene;


    connect(start_btn, &MyPushButton::clicked, [=](){
//        qDebug() << "点击开始按钮";
        // 点击，执行弹跳效果
        start_btn->bounceUp();
        start_btn->boundDown();

        // 延时进入下一场景
        QTimer::singleShot(500, this, [=] () {
            // 先将自身隐藏
            this->hide();
            // 进入下一场景
            choose_level_scene->show();
        });

        // 监听第二个场景（关卡场景中的返回按钮的信号）
        connect(choose_level_scene, &ChooseLevelScene::chooseSceneBack,[=](){
            // 选择关卡隐藏
            choose_level_scene->hide();
            // 自身显示
            this->show();
        });
    });
}

MainScene::~MainScene()
{
    delete ui;
}


void MainScene::paintEvent(QPaintEvent *)
{
    QPainter painter(this);

    // 画背景图
    QPixmap pix;
    pix.load(":/res/PlayLevelSceneBg.png");
    painter.drawPixmap(0, 0, this->width(), this->height(), pix);

    // 画标题图片
    pix.load(":/res/Title.png");
    pix = pix.scaled(pix.width() * 0.5, pix.height() * 0.5);
    painter.drawPixmap(10, 30, pix);
}
